﻿using SqlSugar;
using System.ComponentModel.DataAnnotations;

namespace SCM.Domain
{
    
    public class PurchaseManagementModel
    {
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        public int Id { get; set; }
        /// <summary>
        /// 采购单号
        /// </summary>
        public string PurchaseId { get; set; }
        /// <summary>
        /// 产品名称
        /// </summary>
        public string ProductName { get; set; }
        /// <summary>
        /// 产品编号
        /// </summary>
        public int ProductId { get; set; }
        /// <summary>
        /// 产品规格
        /// </summary>
        public string ProductSpecs { get; set; }
        /// <summary>
        /// 单位
        /// </summary>
        public int UnitId { get; set; }
        /// <summary>
        /// 单价
        /// </summary>
        public double Price { get; set; }
        /// <summary>
        /// 数量
        /// </summary>
        public int Num { get; set; }
        /// <summary>
        /// 总额
        /// </summary>
        public double Total {  get; set; }
        /// <summary>
        /// 供应商编号
        /// </summary>
        public int VendorId { get; set; }
        /// <summary>
        /// 供应商名称
        /// </summary>
        public string VendorName { get; set; }
        /// <summary>
        /// 联系人
        /// </summary>
        public string ContactPerson { get; set; }
        /// <summary>
        /// 电话
        /// </summary>
        public string Phone { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string Description { get; set; }
        /// <summary>
        /// 状态
        /// </summary>
        public int State {  get; set; }
        /// <summary>
        /// 是否入账
        /// </summary>
        public bool Recorded { get; set; }
        /// <summary>
        /// 单据类型
        /// </summary>
        public string OrderType { get; set; }
        /// <summary>
        /// 退货
        /// </summary>
        public string Refund { get; set; }
        public string? CreateName { get; set; }
        /// <summary>
        /// 制单人
        /// </summary>
        public int? MadeName { get; set; }
        /// <summary>
        /// 修改人
        /// </summary>
        public int? UpdateName { get; set; }
        /// <summary>
        /// 制单时间
        /// </summary>
        public DateTime? MadeTime { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreateTime { get; set; }
        /// <summary>
        /// 逻辑删除
        /// </summary>
        public bool IsDel { get; set; } = false;
        /// <summary>
        /// 库位Id（主键唯一标识）
        /// </summary>
        public int? LocationId { get; set; }

        /// <summary>
        /// 批次Id
        /// </summary>
        public string? Bacth { get; set; }
    }
}
